package com.zhiche.lisa.tms.dao.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 运输任务
 * </p>
 *
 * @author qichao
 * @since 2018-08-16
 */
@TableName("lisa_ship_task")
public class ShipTask extends Model<ShipTask> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 运输任务编号
     */
	private String code;
    /**
     * 运单编号
     */
	@TableField("ship_order_code")
	private String shipOrderCode;
    /**
     * 任务创建人（一般是调度）
     */
	private String issuer;
    /**
     * 承运商/人标识
     */
	@TableField("carrier_id")
	private String carrierId;
    /**
     * 创建时间
     */
	@TableField("gmt_create")
	private Date gmtCreate;
    /**
     * 要求任务开始时间
     */
	@TableField("gmt_expect_start")
	private Date gmtExpectStart;
    /**
     * 要求任务结束时间
     */
	@TableField("gmt_expect_finish")
	private Date gmtExpectFinish;
    /**
     * 租户ID
     */
	@TableField("tenant_id")
	private Integer tenantId;
    /**
     * 任务实际开始时间（装车确认的时间）
     */
	@TableField("gmt_start")
	private Date gmtStart;
    /**
     * 任务完成时间（运抵时间）
     */
	@TableField("gmt_finish")
	private Date gmtFinish;
    /**
     * 创建人
     */
	private String creator;
    /**
     * 任务开始确认人（装车确认操作人）
     */
	@TableField("start_creator")
	private String startCreator;
    /**
     * 任务完成确认人（运抵确认操作人）
     */
	@TableField("finish_creator")
	private String finishCreator;

	@TableField("is_delete")
	@TableLogic
	private Integer isDelete;
	/**
	 * 运输方式
	 */
	@TableField("trans_type_id")
	private Long transTypeId;

	public Long getTransTypeId() {
		return transTypeId;
	}

	public void setTransTypeId(Long transTypeId) {
		this.transTypeId = transTypeId;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getShipOrderCode() {
		return shipOrderCode;
	}

	public void setShipOrderCode(String shipOrderCode) {
		this.shipOrderCode = shipOrderCode;
	}

	public String getIssuer() {
		return issuer;
	}

	public void setIssuer(String issuer) {
		this.issuer = issuer;
	}

	public String getCarrierId() {
		return carrierId;
	}

	public void setCarrierId(String carrierId) {
		this.carrierId = carrierId;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public Date getGmtExpectStart() {
		return gmtExpectStart;
	}

	public void setGmtExpectStart(Date gmtExpectStart) {
		this.gmtExpectStart = gmtExpectStart;
	}

	public Date getGmtExpectFinish() {
		return gmtExpectFinish;
	}

	public void setGmtExpectFinish(Date gmtExpectFinish) {
		this.gmtExpectFinish = gmtExpectFinish;
	}

	public Integer getTenantId() {
		return tenantId;
	}

	public void setTenantId(Integer tenantId) {
		this.tenantId = tenantId;
	}

	public Date getGmtStart() {
		return gmtStart;
	}

	public void setGmtStart(Date gmtStart) {
		this.gmtStart = gmtStart;
	}

	public Date getGmtFinish() {
		return gmtFinish;
	}

	public void setGmtFinish(Date gmtFinish) {
		this.gmtFinish = gmtFinish;
	}

	public String getCreator() {
		return creator;
	}

	public void setCreator(String creator) {
		this.creator = creator;
	}

	public String getStartCreator() {
		return startCreator;
	}

	public void setStartCreator(String startCreator) {
		this.startCreator = startCreator;
	}

	public String getFinishCreator() {
		return finishCreator;
	}

	public void setFinishCreator(String finishCreator) {
		this.finishCreator = finishCreator;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "ShipTask{" +
			", id=" + id +
			", code=" + code +
			", shipOrderCode=" + shipOrderCode +
			", issuer=" + issuer +
			", carrierId=" + carrierId +
			", gmtCreate=" + gmtCreate +
			", gmtExpectStart=" + gmtExpectStart +
			", gmtExpectFinish=" + gmtExpectFinish +
			", tenantId=" + tenantId +
			", gmtStart=" + gmtStart +
			", gmtFinish=" + gmtFinish +
			", creator=" + creator +
			", startCreator=" + startCreator +
			", finishCreator=" + finishCreator +
			"}";
	}
}
